The present invention relates to three-dimensional graphics display techniques for displaying three-dimensional figures (i.e., 3D graphics) and, more particularly, to a three-dimensional graphics display apparatus for executing at high speed what is known as a "fog" display process to enhance the 3D or cubic display effect.
To implement a three-dimensional graphics display requires incorporating as many aspects of the real world as possible into a display so that the display imitates reality as closely as possible.
One technique for accentuating natural phenomena is that of displaying a fog scene. To display a fog scene involves: distinctly indicating foreground objects and figures (simply called objects hereunder), making the image of the objects foggier the farther they are located from the foreground, and having objects completely fogged out beyond a certain distance.
A similar technique is sometimes used to implement what is known as a depth queuing effect. This technique involves displaying objects more darkly the farther they are located from the foreground (i.e., in the depth direction), and not displaying at all those objects beyond a certain distance or depth (expressed in Z value; the distance or depth is simply called the Z value hereunder). The technique is designed to emphasize the sense of depth so as to bring about a more pronounced 3D display stage.
The aforementioned effects (generically called the fog effect hereunder) are discussed illustratively in Open GL Reference Manual (from Addison-Wesley Publishing Company, p. 128). The publication introduces the following three algorithms: EQU f=(end-z)/(end-start) (Exp. 1.1)
where, "start" stands for the Z value of a figure starting to be fogged, "end" denotes the Z value beyond which objects are completely fogged in, "z" represents the Z value of the figure to be drawn, and "f" indicates the density of fog (common to the remaining two algorithms). EQU f=e -(density.times.z) (Exp. 1.2)
where, symbol represents a power exponent and "density" stands for a constant. EQU f=e -(density.times.z) 2 (Exp. 1.3)
Drawing data and/or display data is generated by use of the fog density value "f" from the above calculations and on the basis of color data and/or figure data.
With the above technique, the value "f" is acquired using the Z value of each pixel as the base for the calculations. This requires handling computations of exponentiation.
Therefore, one disadvantage of the conventional technique is that, with so much data to compute, a large amount of hardware is needed to realize high-speed processing.
Another disadvantage is that the calculations involved relegate the selection of the algorithm to application programs. The algorithm cannot be selected fixedly by hardware.